An integrated circuit typically needs both a voltage source and a current source. The voltage source is typically a bandgap reference. The current source may be provided internally (an on-chip current source), or may be provided based an external resistor. Obtaining precision analog circuits on chip can be difficult since the resistors themselves vary greatly and high-order temperatures curvature can cause non-optimal temperature variations. Conversely, external-resistor based current sources have the advantage that they can be very accurate. Precise external resistor values and flat temperature characteristics (<1%) may be readily obtained. These precise resistor values can be used in conjunction with an on-chip bandgap reference which is precise using an error amplifier to control the voltage drop across the external resistor. However, a user may not necessarily want to use an external resistor.